Selective Ownership: Combining Object and Type Hierarchies for Flexible Sharing

نویسندگان

  • Stephanie Balzer
  • Thomas R. Gross
  • Peter Müller
چکیده

Most ownership systems enforce a tree topology on a program’s heap. The tree topology facilitates many aspects of programming such as thread synchronization, memory management, and program verification. Ownership-based verification techniques leverage the tree topology of an ownership system (and hence the fact that there exists a single owner) to restore sound modular reasoning about invariants over owned objects. However, these techniques in general restrict sharing by limiting modifying access to an owned object to the object’s owner and to other objects in that owner’s ownership tree. In this paper, we introduce selective ownership, a less rigid form of ownership. The key idea is to structure the heap in two ways, by defining an order on a program’s type declarations and by imposing ownership on selected objects. The order on type declarations results in a stratified program heap but permits shared, modifying access to instances further “down” in the heap topology. By superimposing object ownership on selected objects in the heap, programmers can carve out partial sub-trees in the heap topology where the objects are owned. We show how selective ownership enables the modular verification of invariants over heap topologies that subsume shared, modifiable sub-structures. Selective ownership has been elaborated for our programming language Rumer, a programming language with first-class relationships, which naturally give rise to an ordering on type declarations.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Towards Unifying Immutability and Ownership

Immutability is a highly requested feature missing from the mainstream object-oriented languages. Boyland [2] argues that immutability cannot be introduced into a language without additional aliasing-prone mechanisms such as ownership (or fractional permissions). Rather than providing support for both of these important features independently [8, 6, 1], we explore the possibility of unifying th...

متن کامل

Flexible Immutability with Frozen Objects

Object immutability is a familiar concept that allows safe sharing of objects. Existing language support for immutability is based on immutable classes. However, class-based approaches are restrictive because programmers can neither make instances of arbitrary classes immutable, nor can they control when an instance becomes immutable. These restrictions prevent many interesting applications whe...

متن کامل

Planning and Control of Two-Link Rigid Flexible Manipulators in Dynamic Object Manipulation Missions

This research focuses on proposing an optimal trajectory planning and control method of two link rigid-flexible manipulators (TLRFM) for Dynamic Object Manipulation (DOM) missions. For the first time, achievement of DOM task using a rotating one flexible link robot was taken into account in [20]. The authors do not aim to contribute on either trajectory tracking or vibration control of the End-...

متن کامل

Analyzing the Aspects of Cross Sharing Ownership

With the growth of capital market, the shareholding structure of companies has become more complex. Direct ownership is easily recognizable through companies’ shareholders information, however with the formation of cross shareholding among companies, a kind of indirect and complex shareholding has emerged which is not observable. The primary owners (original owners) can take over other companie...

متن کامل

Universes: Lightweight Ownership for JML

Object-oriented programs with arbitrary object structures are difficult to understand, to maintain, and to reason about. Ownership has been applied successfully to structure the object store and to restrict how references can be passed and used. We describe how ownership relations can be expressed in the Java Modeling Language, JML. These ownership specifications can be checked by standard veri...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012